package cn.iocoder.yudao.module.acm.controller.admin.onboardsupplyplan.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalTime;
import java.util.*;
import javax.validation.constraints.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_HOUR_MINUTE;

@Schema(description = "管理后台 - 航机管理-机供品生产计划新增/修改 Request VO")
@Data
public class OnboardSupplyPlanSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13319")
    private Long id;

    @Schema(description = "计划编号")
    private String planCode;

    @Schema(description = "航班号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "航班号不能为空")
    private String flightNo;

    @Schema(description = "起飞时间")
    @NotNull(message = "起飞时间不能为空")
    @DateTimeFormat(pattern = FORMAT_HOUR_MINUTE)
    private LocalTime depTime;

    @Schema(description = "所属公司")
    @NotEmpty(message = "所属公司不能为空")
    private String airlineComp;

    @Schema(description = "前舱人数")
    private Integer frontCabinQty;
    @Schema(description = "前舱机供品列表")
    private List<SupplyPlanDetailSaveReqVO> frontDetailList;

    @Schema(description = "中舱人数")
    private Integer middleCabinQty;
    @Schema(description = "中舱机供品列表")
    private List<SupplyPlanDetailSaveReqVO> middleDetailList;

    @Schema(description = "后舱人数")
    private Integer rearCabinQty;
    @Schema(description = "后舱机供品列表")
    private List<SupplyPlanDetailSaveReqVO> rearDetailList;

    @Schema(description = "特殊说明")
    private String remarks;
}